package com.zc.custom.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会员对象 charge_custom_user
 *
 * @author glb
 * @date 2023-05-19
 */
public class ChargeCustomUser extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 会员id
     */
    private Long customId;

    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 会员编号
     */
    //@Excel(name = "会员编号")
    private String customCode;

    /**
     * 会员名字
     */
    @Excel(name = "会员名字")
    private String customName;

    /**
     * 会员手机号
     */
    @Excel(name = "会员手机号")
    private String customPhone;

    /**
     * 会员属性
     */
    @Excel(name = "用户属性", dictType = "custom_type")
    private String customType;

    /*充电次数 */
    @Excel(name = "充电次数")
    private String chargingCycles;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 汽车型号
     */
    @Excel(name = "汽车型号")
    private String customCarType;

    /**
     * 车牌号号
     */
    @Excel(name = "车牌号号")
    private String customCarNumber;

    /**
     * 会员邮箱
     */
    //@Excel(name = "会员邮箱")
    private String customEmail;

    /**
     * 会员照片
     */
    //@Excel(name = "会员照片")
    private String customPhoto;

    /**
     * 充值金额
     */
    //@Excel(name = "充值金额")
    private BigDecimal customRechargeBalance;

    /**
     * 赠送金额
     */
    //@Excel(name = "赠送金额")
    private BigDecimal customGiveBalance;

    /**
     * 冻结金额
     */
    //@Excel(name = "冻结金额")
    private BigDecimal balanceFreezeBalance;

    private String carName;

    /**
     * 生产年月
     */
    private Date customCarProduceTime;

    /**
     * 续航
     */
    private String customCarEndurance;

    /* 可用余额 */
    private BigDecimal availableBalance;

    /* 积分 */
    private Integer integral;

    /* 红包卡券数量 */
    private Integer cardNumber;

    /* 生日 */
    private String birthDate;

    /* 所在地 */
    private String location;

    public void setCustomId(Long customId) {
        this.customId = customId;
    }

    public Long getCustomId() {
        return customId;
    }

    public void setCustomCode(String customCode) {
        this.customCode = customCode;
    }

    public String getCustomCode() {
        return customCode;
    }

    public void setCustomName(String customName) {
        this.customName = customName;
    }

    public String getCustomName() {
        return customName;
    }

    public void setCustomPhone(String customPhone) {
        this.customPhone = customPhone;
    }

    public String getCustomPhone() {
        return customPhone;
    }

    public void setCustomEmail(String customEmail) {
        this.customEmail = customEmail;
    }

    public String getCustomEmail() {
        return customEmail;
    }

    public void setCustomPhoto(String customPhoto) {
        this.customPhoto = customPhoto;
    }

    public String getCustomPhoto() {
        return customPhoto;
    }

    public void setCustomRechargeBalance(BigDecimal customRechargeBalance) {
        this.customRechargeBalance = customRechargeBalance;
    }

    public BigDecimal getCustomRechargeBalance() {
        return customRechargeBalance;
    }

    public void setCustomGiveBalance(BigDecimal customGiveBalance) {
        this.customGiveBalance = customGiveBalance;
    }

    public BigDecimal getCustomGiveBalance() {
        return customGiveBalance;
    }

    public void setBalanceFreezeBalance(BigDecimal balanceFreezeBalance) {
        this.balanceFreezeBalance = balanceFreezeBalance;
    }

    public BigDecimal getBalanceFreezeBalance() {
        return balanceFreezeBalance;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public ChargeCustomUser() {

    }

    public ChargeCustomUser(String customCode) {
        this.customCode = customCode;
    }

    public String getCustomCarType() {
        return customCarType;
    }

    public void setCustomCarType(String customCarType) {
        this.customCarType = customCarType;
    }

    public String getCustomCarNumber() {
        return customCarNumber;
    }

    public void setCustomCarNumber(String customCarNumber) {
        this.customCarNumber = customCarNumber;
    }

    public Date getCustomCarProduceTime() {
        return customCarProduceTime;
    }

    public void setCustomCarProduceTime(Date customCarProduceTime) {
        this.customCarProduceTime = customCarProduceTime;
    }

    public String getCustomCarEndurance() {
        return customCarEndurance;
    }

    public void setCustomCarEndurance(String customCarEndurance) {
        this.customCarEndurance = customCarEndurance;
    }

    public String getCarName() {
        return carName;
    }

    public void setCarName(String carName) {
        this.carName = carName;
    }


    public BigDecimal getAvailableBalance() {
        return availableBalance;
    }

    public void setAvailableBalance(BigDecimal availableBalance) {
        this.availableBalance = availableBalance;
    }

    public Integer getIntegral() {
        return integral;
    }

    public void setIntegral(Integer integral) {
        this.integral = integral;
    }

    public Integer getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(Integer cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(String birthDate) {
        this.birthDate = birthDate;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getChargingCycles() {
        return chargingCycles;
    }

    public void setChargingCycles(String chargingCycles) {
        this.chargingCycles = chargingCycles;
    }

    public String getCustomType() {
        return customType;
    }

    public void setCustomType(String customType) {
        this.customType = customType;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("customId", customId)
                .append("deptId", deptId)
                .append("customCode", customCode)
                .append("customName", customName)
                .append("customPhone", customPhone)
                .append("customEmail", customEmail)
                .append("customPhoto", customPhoto)
                .append("customRechargeBalance", customRechargeBalance)
                .append("customGiveBalance", customGiveBalance)
                .append("balanceFreezeBalance", balanceFreezeBalance)
                .append("customCarType", customCarType)
                .append("carName", carName)
                .append("customCarNumber", customCarNumber)
                .append("customCarProduceTime", customCarProduceTime)
                .append("customCarEndurance", customCarEndurance)
                .append("availableBalance", availableBalance)
                .append("integral", integral)
                .append("cardNumber", cardNumber)
                .append("birthDate", birthDate)
                .append("location", location)
                .append("chargingCycles", chargingCycles)
                .append("customType", customType)
                .toString();
    }
}
